Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(other): update issue templates #1379

Merged
merged 1 commit into from
Nov 22, 2024

Conversation

ulfgebhardt
Copy link
Contributor

@ulfgebhardt ulfgebhardt commented Nov 22, 2024

Pullrequest

Update issue templates

image

Motivation

Since I am invested in testing cypht lately, i figured the issue templates are now 6 years old and have evolved on my end a bit.
So here is an update.

What has changed?

  • Templates are more simple so developers are actually tempted not to just replace the whole contents but fill out the data (see pullrequest template especially)
  • The title of a new issue will be preset. This results in well organized issue lists with visual cues what type of issue it is with no effort for the issue creator
  • There is new types of issues: epic, devops, refactor, release
  • The suggestion type is gone
  • There is a new workflow which checks if a PR title is well formed. This needs some getting used to, but results in a nice changelog based on PR titles.

You can explore how things would look like here: https://github.com/ulfgebhardt/issue-templates

Example of a well formed changelog generated by https://github.com/CookPete/auto-changelog
image

Issues

  • None

Todo

@marclaporte
Copy link
Member

marclaporte commented Nov 22, 2024

"Is devops needed?"

Maybe for tasks like this: #1175

@ulfgebhardt
Copy link
Contributor Author

ulfgebhardt commented Nov 22, 2024

"is epic a thing here?"

Let's look at current list at https://github.com/cypht-org/cypht/issues and see if some would qualify. Would these qualify?

Epic is normally a greater goal, which then is comprised of several features. An example would be: "Provide an native android App" or "Implement AI driven E-Mail writing".

Of the list you provide

In general I use Epic and Release types for planning purposes - normally users don't create those issue, but Project leads, eg. to define the scope of an upcoming release. This utilizes issues to track progress and have strategic notes/goals available for everyone. I am unsure this project qualifies for this kind of approach.


"Is devops needed?"

Maybe for tasks like this: #1175

I think the linked issue would qualify for this - I tend to use Devops for everything related to the sorroundings of the project, like deployments, backups or github related things (this PR would qualify for this type). I am not 100% sure this projects qualifies for this, since except the website there is no deployments actively maintained by the project itself.


Please decide what you need and I will adjust the PR accordingly. If you need more info, I can try to help.

Another approach could be to provide all types and see how people use them - but that's something the project maintainers then need to do.

Another thing: The PR title validation contains a regex, which enforces PRs to start with a lower case character after its scope and type definitions(see here) - this tends to confuse people and is there for the sake of visual pleasure in a changelog.

Valid: type(scope): my PR title
Invalid: type(scope): My PR title

@marclaporte
Copy link
Member

This utilizes issues to track progress and have strategic notes/goals available for everyone. I am unsure this project qualifies for this kind of approach.

This is a community project so everyone is welcome to collaborate at all levels, including strategic.

@marclaporte
Copy link
Member

Since I am invested in testing cypht lately

@ulfgebhardt: This is highly appreciated. In the last year, we have seen a record number of contributors: https://openhub.net/p/cypht/contributors/summary

Lots of new features
Lots of devs that are new to the code base (and don't have a lot of experience using Cypht)

So I feel 1.4.x is more stable than 2.x (and even more so master)

Over the next few months, the focus will increasingly be on fixing bugs. So we really need testers. So your help is deeply appreciated.

@marclaporte
Copy link
Member

Epic is normally a greater goal, which then is comprised of several features.

I like this concept, and since we have examples, I think we should keep.

@marclaporte
Copy link
Member

@ulfgebhardt

Recently, I added "technical debt" on another bug tracker:
https://tiki.org/blogpost984-Added-a-category-for-technical-debt-on-dev-tiki-org

How would deal with a task of this type? For example: #1136

@marclaporte
Copy link
Member

Create all labels for the types decided for

Indeed, labels should aligned. Can you please review current labels and recommend which ones should be added / removed / merged?

Thanks!

@marclaporte
Copy link
Member

  • Do you want the PR title workflow?

I am undecided. Let's see what others say.

@ulfgebhardt
Copy link
Contributor Author

ulfgebhardt commented Nov 22, 2024

@ulfgebhardt

Recently, I added "technical debt" on another bug tracker: https://tiki.org/blogpost984-Added-a-category-for-technical-debt-on-dev-tiki-org

How would deal with a task of this type? For example: #1136

This I would qualify as Refactor, since it improves/changes existing code without changing behaviour.


Create all labels for the types decided for

Indeed, labels should aligned. Can you please review current labels and recommend which ones should be added / removed / merged?

Thanks!

The following labels are used by the templates, strikethrough are already present in the Repo:

  • bug
  • devops
  • epic
  • feature
  • question
  • refactor
  • release

Hence, when all templates are merged devops, epic, feature, refactor and release should be created to automatically assign this label when an issue is created. If the label is not present, no label is automatically assigned.


  • Do you want the PR title workflow?

I am undecided. Let's see what others say.

Since you seem not to require tests to pass (selenium is failing, but my branch can be merged) this decision can also be postponed and checked if things work as you expect - then the workflow can be made a requirement


Since I am invested in testing cypht lately

@ulfgebhardt: This is highly appreciated. In the last year, we have seen a record number of contributors: https://openhub.net/p/cypht/contributors/summary

Lots of new features Lots of devs that are new to the code base (and don't have a lot of experience using Cypht)

So I feel 1.4.x is more stable than 2.x (and even more so master)

Over the next few months, the focus will increasingly be on fixing bugs. So we really need testers. So your help is deeply appreciated.

To increase stability you need more tests and you MUST make them reliable - flaky tests as I see them in this project are not helping - they undermine the developers trust in the tests. It is very important, that a developer knows he did something wrong if he fails a test - he must be able to rely on that. It will make it easier for developers & for maintainers to judge if code is working correctly. Furthermore beginners are able to get automatic feedback from the development environment about their work without bothering people about it.

I might be able to assist with that if I find the time.

Test milestones would be:

  • remove flakyness
  • require coverage goal
  • enforce code style via linting
  • static analysis via linting
  • >95% test coverage
  • fullstack tests

@marclaporte
Copy link
Member

This I would qualify as Refactor, since it improves/changes existing code without changing behaviour.

works for me

@marclaporte
Copy link
Member

The following labels are used by the templates

I added to https://github.com/cypht-org/cypht/labels

@marclaporte
Copy link
Member

this decision can also be postponed and checked if things work as you expect

works for me

@ulfgebhardt
Copy link
Contributor Author

this decision can also be postponed and checked if things work as you expect

works for me

Feel free to merge then unless you want more feedback.

@marclaporte
Copy link
Member

I might be able to assist with that if I find the time.

This is fantastic! With guidance, our several keen and young developers will learn and improve tests.

@marclaporte
Copy link
Member

Feel free to merge

Was going to merge but the selenium tests are failing so I just relaunched them.

@marclaporte marclaporte merged commit b4cd0f0 into cypht-org:master Nov 22, 2024
4 of 5 checks passed
@marclaporte
Copy link
Member

Still failing but merged anyways.

@mercihabam
Copy link
Member

Regarding the PR title validation, I think it's a great thing people should consider. However, without clear documentation on what constitutes a valid title, the entire process becomes counterproductive. Many PRs are now struggling to pass this validation, and those that do often rely on the author's guesswork.

Most importantly, what scopes are being validated against? For instance, when using the scope frontend, the validation fails with the message: Unknown scope "frontend" found in pull request title....

@ulfgebhardt, could you please look into making this validation criteria more explicit?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants